From: Florian Müllner Date: Wed, 18 Nov 2020 01:16:26 +0000 (+0100) Subject: extensions-app: Explicitly dispose window when removed X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~610 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1bb0e1b9fcaf80800673674a722ba0d229314735;p=gnome-shell.git extensions-app: Explicitly dispose window when removed Unlike in previous GTK version (or Clutter), destroy() no longer breaks reference cycles but just releases the reference held by GTK itself. So any reference we hold - either the explicit property or any signal handlers that bind the window as `this` - prevents the window from being disposed when closed, and the application won't quit. Work around this by explicitly running dispose() on the window when it is removed from the application. Part-of: --- diff --git a/subprojects/extensions-app/js/main.js b/subprojects/extensions-app/js/main.js index dc993ef96..8ff753d56 100644 --- a/subprojects/extensions-app/js/main.js +++ b/subprojects/extensions-app/js/main.js @@ -42,6 +42,8 @@ class Application extends Gtk.Application { _init() { GLib.set_prgname('gnome-extensions-app'); super._init({ application_id: 'org.gnome.Extensions' }); + + this.connect('window-removed', (a, window) => window.run_dispose()); } get shellProxy() {